The best arrangement

Chan_Honman's Blog

《计算机组成原理》重点内容

《计算机组成原理》重点内容与题型分类及答案

计算题

1. 将IEEE短浮点数转换成十进制数

01000011 10011001 00000000 00000000

Value=(1)S×(1.M)×2(E127)Value = (-1)^S \times (1.M) \times 2^{(E-127)}

在IEEE 754单精度(32位)浮点数格式中,各个部分所占据的位位置是固定的:

一个32位的二进制数通常从左到右编号为 Bit 31 到 Bit 0。

所以,结构是:

31  30      23  22                      0
-----------------------------------------
S |    E    |            M              |
-----------------------------------------
1位 |   8位   |          23位             |
例题:将IEEE 754短浮点数(单精度)转换成十进制数

待转换的二进制数: 01000011 10011001 00000000 00000000

1. IEEE 754单精度(32位)浮点数结构

一个32位的二进制数,从左到右,其结构分解如下:

部分位范围位数含义
S311符号位
E30 ~ 238指数位
M22 ~ 023尾数位/小数部分

2. 转换公式

对于规格化的IEEE 754单精度浮点数,其十进制值可由以下公式计算:

Value=(1)S×(1.M)×2(EBias)\text{Value} = (-1)^S \times (1.\text{M}) \times 2^{(E - \text{Bias})}

其中:


转换示例:0 10000111 0011001 00000000 00000000

步骤1:分解浮点数

将给定的32位二进制数分解为S、E、M三部分:

步骤2:计算符号部分

由于 S=0S = 0,所以:

(1)S=(1)0=1(-1)^S = (-1)^0 = 1

这表示该浮点数是一个正数。

步骤3:计算指数部分

将指数位 E=100001112E = 10000111_2 转换为十进制:

E=1×27+0×26+0×25+0×24+0×23+1×22+1×21+1×20E=128+0+0+0+0+4+2+1E=135E = 1 \times 2^7 + 0 \times 2^6 + 0 \times 2^5 + 0 \times 2^4 + 0 \times 2^3 + 1 \times 2^2 + 1 \times 2^1 + 1 \times 2^0 \\ E = 128 + 0 + 0 + 0 + 0 + 4 + 2 + 1 \\ E = 135

计算实际指数(无偏置):

实际指数=EBias=135127=8\text{实际指数} = E - \text{Bias} = 135 - 127 = 8

步骤4:确定实际的尾数部分 (1.M)

根据规格化形式,实际尾数是 1.M1.\text{M}。尾数位 M=001100100000000000000002M = 00110010000000000000000_2

1.M=1.0011001000000000000000021.\text{M} = 1.00110010000000000000000_2

步骤5:组合计算十进制值

将所有部分代入公式:

Value=1×(1.001100100000000000000002)×28\text{Value} = 1 \times (1.00110010000000000000000_2) \times 2^8

将二进制数 1.0011001000000000000000021.00110010000000000000000_2 乘以 282^8,相当于将小数点向右移动8位:

10011001.000000000000000210011001.000000000000000_2

简化为二进制整数:1001100102100110010_2

最后,将这个二进制整数转换为十进制:

Value=1×28+0×27+0×26+1×25+1×24+0×23+0×22+1×21+0×20Value=256+0+0+32+16+0+0+2+0Value=306\text{Value} = 1 \times 2^8 + 0 \times 2^7 + 0 \times 2^6 + 1 \times 2^5 + 1 \times 2^4 + 0 \times 2^3 + 0 \times 2^2 + 1 \times 2^1 + 0 \times 2^0 \\ \text{Value} = 256 + 0 + 0 + 32 + 16 + 0 + 0 + 2 + 0 \\ \text{Value} = 306

所以,IEEE短浮点数 01000011 10011001 00000000 00000000 转换成十进制数是 306.0


2. 将十进制数转换成IEEE短浮点数

第一章 概论

1. 填空题

2. 选择题

3. 判断题

第二章 数据的机器层次表示

1. 填空题

2. 选择题

3. 判断题

4. 应用题

第三章 指令系统

1. 填空题

2. 选择题

3. 应用题

第四章 基本的机器运算

1. 填空题

2. 选择题

3. 应用题

第五章 存储系统

1. 填空题

2. 选择题

3. 判断题

4. 应用题

第六章 中央处理器

1. 填空题

2. 选择题

3. 应用题